#include "factory.hpp"
int Entry(int argc, char *argv[])
{
    if (argc != 2)
    {
        ERR_LOG("正确输入为[./init port]");
        return -1;
    }
    return 0;
}
// 发布消息的客户端
int main(int argc, char *argv[])
{
    if (Entry(argc, argv) != 0)
    {
        return -1;
    }
    int port = std::stoi(argv[1]);

    // 1.实例化异步工作线程对象
    zhong::AsyncWorker::ptr worker = std::make_shared<zhong::AsyncWorker>();
    // 2.实例化连接对象
    zhong::Connection::ptr connection = std::make_shared<zhong::Connection>("127.0.0.1", port, worker);
    // 3.通过链接创建并获取信道
    zhong::Channel::ptr channel = connection->openChannel();

    // // 创建三个用户对象 分别为 管理员 消费者 生产者
    // channel->declareUser("root", "123456", true, 1);
    // channel->declareUser("consumer", "123456", true, 2);
    // channel->declareUser("producer", "123456", true, 3);
 
    // 相当于管理员创建虚拟机
    channel->declareVirtualHost("defaultHost", true);
    // 后续我们用default进行通信
    
    connection->closeChannel(channel);
}